package com.mxt.moviedemo.dao;

import com.mxt.moviedemo.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface MoviesMapper {
    // 根据分页参数查询电影列表
    List<Movies> getMoviesByPage(PageRequest pageRequest);

    // 查询电影总数
    int getTotalMovies();

    List<Movies> searchMoviesByKeyword(PageRequest pageRequest, String keyword);
    int getTotalMoviesByKeyword(String keyword);

    Movies getMovieById(int mid);

    List<Geners> getMovieGeners(int mid);

    List<Directors> getMovieDirectors(int mid);
    List<Actors> getMovieActors(int mid);


    // 根据分页参数查询类别列表
    List<Geners> getGenersByPage(PageRequest pageRequest);
    // 查询类别总数
    int getTotalGeners();

    // 新增电影
    int addMovie(Movies movie);

    // 删除电影
    int deleteMovie(int mid);

    // 修改电影信息
    int updateMovie(Movies movie);

    // 删除 movie_actors 表中关联的记录
    void deleteMovieActorsByMid(int mid);
    // 删除 movie_geners 表中关联的记录
    void deleteMovieGenersByMid(int mid);
    // 删除 movie_directors 表中关联的记录
    void deleteMovieDirectorsByMid(int mid);

    List<Movies> searchMoviesByName(String mname);





    Movies getMovieByName(String mname);


    Geners getGenersById(int gid);
    List<Geners> searchGenersByName(String gname);
    int addGeners(Geners geners);
    boolean updateGeners(Geners geners);
    int deleteGeners(int gid);
}